package org.framework.edge.builder.infrastructure.entity;

import lombok.Data;
import lombok.experimental.Accessors;
import org.wu.framework.lazy.orm.core.stereotype.LazyTableIndex;
import org.wu.framework.core.stereotype.LayerField;
import org.wu.framework.core.stereotype.LayerField.LayerFieldType;
import org.wu.framework.lazy.orm.core.stereotype.LazyTable;
import org.wu.framework.lazy.orm.core.stereotype.LazyTableField;
import org.wu.framework.lazy.orm.core.stereotype.*;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import java.lang.String;
import java.time.LocalDateTime;
import java.lang.Boolean;
/**
 * describe docker 打包 
 *
 * @author Jia wei Wu
 * @date 2025/07/08 06:06 晚上
 * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyInfrastructureEntity 
 **/
@Data
@Accessors(chain = true)
@LazyTable(tableName = "docker_builder",comment = "docker 打包")
@Schema(title = "docker_builder",description = "docker 打包")
public class DockerBuilderDO {


    /**
     * 
     * 唯一性编码
     */
    @Schema(description ="唯一性编码",name ="code",example = "")
    @LazyTableFieldUnique(name="code",comment="唯一性编码",columnType="varchar(255)")
    private String code;

    /**
     * 
     * 创建时间
     */
    @Schema(description ="创建时间",name ="createTime",example = "")
    @LazyTableField(name="create_time",comment="创建时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP")
    private LocalDateTime createTime;

    /**
     * 
     * 描述
     */
    @Schema(description ="描述",name ="desc",example = "")
    @LazyTableField(name="desc",comment="描述",columnType="varchar(255)")
    private String desc;

    /**
     * 
     * dockerfile文件
     */
    @Schema(description ="dockerfile文件",name ="dockerfile",example = "")
    @LazyTableField(name="dockerfile",comment="dockerfile文件",columnType="text")
    private String dockerfile;

    /**
     * 
     * 主键ID
     */
    @Schema(description ="主键ID",name ="id",example = "")
    @LazyTableFieldUUId(name="id",comment="主键ID")
    private String id;

    /**
     * 
     * 是否删除
     */
    @Schema(description ="是否删除",name ="isDeleted",example = "")
    @LazyTableField(name="is_deleted",comment="是否删除",defaultValue="'0'",upsertStrategy = LazyFieldStrategy.NEVER,columnType="tinyint")
    private Boolean isDeleted;

    /**
     * 
     * 仓库ID
     */
    @Schema(description ="仓库ID",name ="repositoryId",example = "")
    @LazyTableField(name="repository_id",comment="仓库ID",columnType="varchar(255)")
    private String repositoryId;

    /**
     * 
     * 应用类型（Java、python、vue）
     */
    @Schema(description ="应用类型（Java、python、vue）",name ="type",example = "")
    @LazyTableField(name="type",comment="应用类型（Java、python、vue）",columnType="varchar(255)")
    private String type;

    /**
     * 
     * 更新时间
     */
    @Schema(description ="更新时间",name ="updateTime",example = "")
    @LazyTableField(name="update_time",comment="更新时间",defaultValue="CURRENT_TIMESTAMP",upsertStrategy = LazyFieldStrategy.NEVER,columnType="datetime",extra=" on update CURRENT_TIMESTAMP")
    private LocalDateTime updateTime;

}